package com.eascs.workflow.sys.dao;

import java.util.List;

import com.eascs.app.dao.PageResult;
import com.eascs.workflow.common.entity.sys.SysRole;
import com.eascs.workflow.common.entity.sys.SysRoleResources;
import com.eascs.workflow.common.entity.sys.SysUser;

public interface SysRoleDao{

    /**
     * 根据用户 查询角色
     * @param
     * @return
     */
    public List<SysRole> selectRolesByUser(SysUser user);

    /**
     * 查询角色列表
     * @param 
     * @return
     */
    public PageResult<Object[]> selectRolesPage(SysRole param,int pageSize,int pageIndex);
    
    /**
     * 查询角色
     */
    public SysRole selectRolesByRole(SysRole sysRole);
    
    /**
     * 新增角色
     * @return
     */
    public Integer insertRole(SysRole sysRole);
    
    /**
     * 删除角色
     * @return
     */
    public Integer deleteRole(SysRole sysRole);
    
    /**
     * 修改角色
     * @return
     */
    public Integer updateRole(SysRole sysRole);
    
    
    /**
     * 批量：新增角色资源
     * @return
     */
    public Integer insertRoleResBatch(List<SysRoleResources> roleResList);
    
    /**
     * 删除角色资源
     * @return
     */
    public Integer deleteRoleRes(String roleId);
    
    public List<SysRole> getRoleList();
    
	
	/***
	 * 查询角色层级
	 * @param roleId
	 * @return
	 */
	public SysRole getById(String roleId);
	
    /**
     * 根据用户 查询角色
     * @param
     * @return
     */
    public List<SysRole> selectRolesByUserNo(String userNo);
    
    public SysRole getByRoleCode(String roleCode);
}
